// $ANTLR 3.0.1 Lucenedb.g 2011-11-29 19:59:00

   package com.googlecode.lucenedb.ql.antlr;
   import  com.googlecode.lucenedb.ql.entity.*;
   import  com.googlecode.lucenedb.ql.entity.condition.*;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

public class LucenedbLexer extends Lexer {
    public static final int SQOUT=32;
    public static final int GTH=17;
    public static final int KW_WHERE=13;
    public static final int ID=12;
    public static final int EOF=-1;
    public static final int KW_LIMIT=25;
    public static final int LPAREN=9;
    public static final int ASTERISK=5;
    public static final int KW_FROM=6;
    public static final int RPAREN=10;
    public static final int COMMA=7;
    public static final int PLUS=29;
    public static final int QUOTED_STRING=21;
    public static final int T38=38;
    public static final int T37=37;
    public static final int GEQ=20;
    public static final int EQ=15;
    public static final int T39=39;
    public static final int T34=34;
    public static final int T33=33;
    public static final int T36=36;
    public static final int T35=35;
    public static final int DIVIDE=31;
    public static final int KW_ORDER=22;
    public static final int N=11;
    public static final int NUMBER=14;
    public static final int MINUS=30;
    public static final int Digit=28;
    public static final int T43=43;
    public static final int Tokens=44;
    public static final int T42=42;
    public static final int T41=41;
    public static final int T40=40;
    public static final int NOT_EQ=18;
    public static final int LTH=16;
    public static final int WS=26;
    public static final int KW_SELECT=4;
    public static final int KW_GROUP=23;
    public static final int KW_BY=24;
    public static final int KW_AS=8;
    public static final int Letter=27;
    public static final int LEQ=19;
    
        public void reportError(RecognitionException e) 
        {
            StringBuilder errorMessage = new StringBuilder("Syntax error at position " + e.charPositionInLine + ": ");
            if (e instanceof NoViableAltException)
            {
                int index = e.charPositionInLine;
                String error = this.input.substring(index, index);
                String statement = this.input.substring(0, this.input.size() - 1);
    
                errorMessage.append("unexpected \"" + error + "\" for `" + statement + "`.");
            }
            else
            {
                errorMessage.append(this.getErrorMessage(e, this.getTokenNames()));
            }
    
            throw new RuntimeException(errorMessage.toString());
        }

    public LucenedbLexer() {;} 
    public LucenedbLexer(CharStream input) {
        super(input);
    }
    public String getGrammarFileName() { return "Lucenedb.g"; }

    // $ANTLR start T33
    public final void mT33() throws RecognitionException {
        try {
            int _type = T33;
            // Lucenedb.g:28:5: ( 'ORDER BY' )
            // Lucenedb.g:28:7: 'ORDER BY'
            {
            match("ORDER BY"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T33

    // $ANTLR start T34
    public final void mT34() throws RecognitionException {
        try {
            int _type = T34;
            // Lucenedb.g:29:5: ( '@' )
            // Lucenedb.g:29:7: '@'
            {
            match('@'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T34

    // $ANTLR start T35
    public final void mT35() throws RecognitionException {
        try {
            int _type = T35;
            // Lucenedb.g:30:5: ( 'GROUP BY' )
            // Lucenedb.g:30:7: 'GROUP BY'
            {
            match("GROUP BY"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T35

    // $ANTLR start T36
    public final void mT36() throws RecognitionException {
        try {
            int _type = T36;
            // Lucenedb.g:31:5: ( 'INDEXORDER' )
            // Lucenedb.g:31:7: 'INDEXORDER'
            {
            match("INDEXORDER"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T36

    // $ANTLR start T37
    public final void mT37() throws RecognitionException {
        try {
            int _type = T37;
            // Lucenedb.g:32:5: ( 'RELEVANCE' )
            // Lucenedb.g:32:7: 'RELEVANCE'
            {
            match("RELEVANCE"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T37

    // $ANTLR start T38
    public final void mT38() throws RecognitionException {
        try {
            int _type = T38;
            // Lucenedb.g:33:5: ( 'OR' )
            // Lucenedb.g:33:7: 'OR'
            {
            match("OR"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T38

    // $ANTLR start T39
    public final void mT39() throws RecognitionException {
        try {
            int _type = T39;
            // Lucenedb.g:34:5: ( 'AND' )
            // Lucenedb.g:34:7: 'AND'
            {
            match("AND"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T39

    // $ANTLR start T40
    public final void mT40() throws RecognitionException {
        try {
            int _type = T40;
            // Lucenedb.g:35:5: ( 'NOT' )
            // Lucenedb.g:35:7: 'NOT'
            {
            match("NOT"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T40

    // $ANTLR start T41
    public final void mT41() throws RecognitionException {
        try {
            int _type = T41;
            // Lucenedb.g:36:5: ( 'IN' )
            // Lucenedb.g:36:7: 'IN'
            {
            match("IN"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T41

    // $ANTLR start T42
    public final void mT42() throws RecognitionException {
        try {
            int _type = T42;
            // Lucenedb.g:37:5: ( 'LIKE' )
            // Lucenedb.g:37:7: 'LIKE'
            {
            match("LIKE"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T42

    // $ANTLR start T43
    public final void mT43() throws RecognitionException {
        try {
            int _type = T43;
            // Lucenedb.g:38:5: ( 'BETWEEN' )
            // Lucenedb.g:38:7: 'BETWEEN'
            {
            match("BETWEEN"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T43

    // $ANTLR start QUOTED_STRING
    public final void mQUOTED_STRING() throws RecognitionException {
        try {
            int _type = QUOTED_STRING;
            // Lucenedb.g:334:2: ( '\\'' (~ '\\'' | '\\'\\'' | '\\\\\\'' )* '\\'' )
            // Lucenedb.g:334:3: '\\'' (~ '\\'' | '\\'\\'' | '\\\\\\'' )* '\\''
            {
            match('\''); 
            // Lucenedb.g:334:8: (~ '\\'' | '\\'\\'' | '\\\\\\'' )*
            loop1:
            do {
                int alt1=4;
                alt1 = dfa1.predict(input);
                switch (alt1) {
            	case 1 :
            	    // Lucenedb.g:334:9: ~ '\\''
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\uFFFE') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse =
            	            new MismatchedSetException(null,input);
            	        recover(mse);    throw mse;
            	    }


            	    }
            	    break;
            	case 2 :
            	    // Lucenedb.g:334:15: '\\'\\''
            	    {
            	    match("\'\'"); 


            	    }
            	    break;
            	case 3 :
            	    // Lucenedb.g:334:22: '\\\\\\''
            	    {
            	    match("\\\'"); 


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

            match('\''); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end QUOTED_STRING

    // $ANTLR start KW_AS
    public final void mKW_AS() throws RecognitionException {
        try {
            int _type = KW_AS;
            // Lucenedb.g:340:7: ( 'AS' )
            // Lucenedb.g:340:9: 'AS'
            {
            match("AS"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end KW_AS

    // $ANTLR start KW_SELECT
    public final void mKW_SELECT() throws RecognitionException {
        try {
            int _type = KW_SELECT;
            // Lucenedb.g:342:11: ( 'SELECT' )
            // Lucenedb.g:342:13: 'SELECT'
            {
            match("SELECT"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end KW_SELECT

    // $ANTLR start KW_FROM
    public final void mKW_FROM() throws RecognitionException {
        try {
            int _type = KW_FROM;
            // Lucenedb.g:344:9: ( 'FROM' )
            // Lucenedb.g:344:11: 'FROM'
            {
            match("FROM"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end KW_FROM

    // $ANTLR start KW_ORDER
    public final void mKW_ORDER() throws RecognitionException {
        try {
            int _type = KW_ORDER;
            // Lucenedb.g:346:10: ( 'ORDER' )
            // Lucenedb.g:346:12: 'ORDER'
            {
            match("ORDER"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end KW_ORDER

    // $ANTLR start KW_WHERE
    public final void mKW_WHERE() throws RecognitionException {
        try {
            int _type = KW_WHERE;
            // Lucenedb.g:348:9: ( 'WHERE' )
            // Lucenedb.g:348:11: 'WHERE'
            {
            match("WHERE"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end KW_WHERE

    // $ANTLR start KW_GROUP
    public final void mKW_GROUP() throws RecognitionException {
        try {
            int _type = KW_GROUP;
            // Lucenedb.g:350:10: ( 'GROUP' )
            // Lucenedb.g:350:12: 'GROUP'
            {
            match("GROUP"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end KW_GROUP

    // $ANTLR start KW_BY
    public final void mKW_BY() throws RecognitionException {
        try {
            int _type = KW_BY;
            // Lucenedb.g:352:7: ( 'BY' )
            // Lucenedb.g:352:9: 'BY'
            {
            match("BY"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end KW_BY

    // $ANTLR start KW_LIMIT
    public final void mKW_LIMIT() throws RecognitionException {
        try {
            int _type = KW_LIMIT;
            // Lucenedb.g:354:10: ( 'LIMIT' )
            // Lucenedb.g:354:12: 'LIMIT'
            {
            match("LIMIT"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end KW_LIMIT

    // $ANTLR start COMMA
    public final void mCOMMA() throws RecognitionException {
        try {
            int _type = COMMA;
            // Lucenedb.g:357:7: ( ',' )
            // Lucenedb.g:357:9: ','
            {
            match(','); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end COMMA

    // $ANTLR start RPAREN
    public final void mRPAREN() throws RecognitionException {
        try {
            int _type = RPAREN;
            // Lucenedb.g:360:2: ( ')' )
            // Lucenedb.g:360:4: ')'
            {
            match(')'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end RPAREN

    // $ANTLR start LPAREN
    public final void mLPAREN() throws RecognitionException {
        try {
            int _type = LPAREN;
            // Lucenedb.g:363:2: ( '(' )
            // Lucenedb.g:363:4: '('
            {
            match('('); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end LPAREN

    // $ANTLR start WS
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            // Lucenedb.g:372:5: ( ( ' ' | '\\t' | '\\r' '\\n' | '\\n' | '\\r' ) )
            // Lucenedb.g:372:9: ( ' ' | '\\t' | '\\r' '\\n' | '\\n' | '\\r' )
            {
            // Lucenedb.g:372:9: ( ' ' | '\\t' | '\\r' '\\n' | '\\n' | '\\r' )
            int alt2=5;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt2=1;
                }
                break;
            case '\t':
                {
                alt2=2;
                }
                break;
            case '\r':
                {
                int LA2_3 = input.LA(2);

                if ( (LA2_3=='\n') ) {
                    alt2=3;
                }
                else {
                    alt2=5;}
                }
                break;
            case '\n':
                {
                alt2=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("372:9: ( ' ' | '\\t' | '\\r' '\\n' | '\\n' | '\\r' )", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // Lucenedb.g:372:13: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // Lucenedb.g:373:7: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // Lucenedb.g:374:7: '\\r' '\\n'
                    {
                    match('\r'); 
                    match('\n'); 

                    }
                    break;
                case 4 :
                    // Lucenedb.g:375:7: '\\n'
                    {
                    match('\n'); 

                    }
                    break;
                case 5 :
                    // Lucenedb.g:376:7: '\\r'
                    {
                    match('\r'); 

                    }
                    break;

            }

            channel=HIDDEN;

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end WS

    // $ANTLR start Letter
    public final void mLetter() throws RecognitionException {
        try {
            // Lucenedb.g:384:5: ( 'a' .. 'z' | 'A' .. 'Z' )
            // Lucenedb.g:
            {
            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse =
                    new MismatchedSetException(null,input);
                recover(mse);    throw mse;
            }


            }

        }
        finally {
        }
    }
    // $ANTLR end Letter

    // $ANTLR start Digit
    public final void mDigit() throws RecognitionException {
        try {
            // Lucenedb.g:389:5: ( '0' .. '9' )
            // Lucenedb.g:390:9: '0' .. '9'
            {
            matchRange('0','9'); 

            }

        }
        finally {
        }
    }
    // $ANTLR end Digit

    // $ANTLR start PLUS
    public final void mPLUS() throws RecognitionException {
        try {
            int _type = PLUS;
            // Lucenedb.g:394:2: ( '+' )
            // Lucenedb.g:394:4: '+'
            {
            match('+'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end PLUS

    // $ANTLR start MINUS
    public final void mMINUS() throws RecognitionException {
        try {
            int _type = MINUS;
            // Lucenedb.g:398:2: ( '-' )
            // Lucenedb.g:398:4: '-'
            {
            match('-'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end MINUS

    // $ANTLR start DIVIDE
    public final void mDIVIDE() throws RecognitionException {
        try {
            int _type = DIVIDE;
            // Lucenedb.g:402:2: ( '/' )
            // Lucenedb.g:402:4: '/'
            {
            match('/'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end DIVIDE

    // $ANTLR start ASTERISK
    public final void mASTERISK() throws RecognitionException {
        try {
            int _type = ASTERISK;
            // Lucenedb.g:407:2: ( '*' )
            // Lucenedb.g:407:4: '*'
            {
            match('*'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end ASTERISK

    // $ANTLR start N
    public final void mN() throws RecognitionException {
        try {
            int _type = N;
            // Lucenedb.g:411:10: ( '0' .. '9' ( '0' .. '9' )* )
            // Lucenedb.g:411:12: '0' .. '9' ( '0' .. '9' )*
            {
            matchRange('0','9'); 
            // Lucenedb.g:411:23: ( '0' .. '9' )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( ((LA3_0>='0' && LA3_0<='9')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // Lucenedb.g:411:25: '0' .. '9'
            	    {
            	    matchRange('0','9'); 

            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end N

    // $ANTLR start NUMBER
    public final void mNUMBER() throws RecognitionException {
        try {
            int _type = NUMBER;
            // Lucenedb.g:415:2: ( ( ( N '.' N ) | ( '.' N ) ) )
            // Lucenedb.g:416:2: ( ( N '.' N ) | ( '.' N ) )
            {
            // Lucenedb.g:416:2: ( ( N '.' N ) | ( '.' N ) )
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( ((LA4_0>='0' && LA4_0<='9')) ) {
                alt4=1;
            }
            else if ( (LA4_0=='.') ) {
                alt4=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("416:2: ( ( N '.' N ) | ( '.' N ) )", 4, 0, input);

                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // Lucenedb.g:416:3: ( N '.' N )
                    {
                    // Lucenedb.g:416:3: ( N '.' N )
                    // Lucenedb.g:416:5: N '.' N
                    {
                    mN(); 
                    match('.'); 
                    mN(); 

                    }


                    }
                    break;
                case 2 :
                    // Lucenedb.g:417:3: ( '.' N )
                    {
                    // Lucenedb.g:417:3: ( '.' N )
                    // Lucenedb.g:417:4: '.' N
                    {
                    match('.'); 
                    mN(); 

                    }


                    }
                    break;

            }


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end NUMBER

    // $ANTLR start ID
    public final void mID() throws RecognitionException {
        try {
            int _type = ID;
            // Lucenedb.g:422:5: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '$' | '#' )* )
            // Lucenedb.g:422:7: ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '$' | '#' )*
            {
            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse =
                    new MismatchedSetException(null,input);
                recover(mse);    throw mse;
            }

            // Lucenedb.g:422:29: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '$' | '#' )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( ((LA5_0>='#' && LA5_0<='$')||(LA5_0>='0' && LA5_0<='9')||(LA5_0>='A' && LA5_0<='Z')||LA5_0=='_'||(LA5_0>='a' && LA5_0<='z')) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // Lucenedb.g:
            	    {
            	    if ( (input.LA(1)>='#' && input.LA(1)<='$')||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse =
            	            new MismatchedSetException(null,input);
            	        recover(mse);    throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end ID

    // $ANTLR start EQ
    public final void mEQ() throws RecognitionException {
        try {
            int _type = EQ;
            // Lucenedb.g:427:2: ( '=' )
            // Lucenedb.g:427:4: '='
            {
            match('='); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end EQ

    // $ANTLR start LTH
    public final void mLTH() throws RecognitionException {
        try {
            int _type = LTH;
            // Lucenedb.g:431:2: ( '<' )
            // Lucenedb.g:431:4: '<'
            {
            match('<'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end LTH

    // $ANTLR start NOT_EQ
    public final void mNOT_EQ() throws RecognitionException {
        try {
            int _type = NOT_EQ;
            // Lucenedb.g:435:2: ( '<>' | '!=' | '^=' )
            int alt6=3;
            switch ( input.LA(1) ) {
            case '<':
                {
                alt6=1;
                }
                break;
            case '!':
                {
                alt6=2;
                }
                break;
            case '^':
                {
                alt6=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("434:1: NOT_EQ : ( '<>' | '!=' | '^=' );", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // Lucenedb.g:435:4: '<>'
                    {
                    match("<>"); 


                    }
                    break;
                case 2 :
                    // Lucenedb.g:435:11: '!='
                    {
                    match("!="); 


                    }
                    break;
                case 3 :
                    // Lucenedb.g:435:18: '^='
                    {
                    match("^="); 


                    }
                    break;

            }
            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end NOT_EQ

    // $ANTLR start LEQ
    public final void mLEQ() throws RecognitionException {
        try {
            int _type = LEQ;
            // Lucenedb.g:438:2: ( '<=' )
            // Lucenedb.g:438:4: '<='
            {
            match("<="); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end LEQ

    // $ANTLR start GEQ
    public final void mGEQ() throws RecognitionException {
        try {
            int _type = GEQ;
            // Lucenedb.g:442:2: ( '>=' )
            // Lucenedb.g:442:4: '>='
            {
            match(">="); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end GEQ

    // $ANTLR start GTH
    public final void mGTH() throws RecognitionException {
        try {
            int _type = GTH;
            // Lucenedb.g:446:2: ( '>' )
            // Lucenedb.g:446:4: '>'
            {
            match('>'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end GTH

    // $ANTLR start SQOUT
    public final void mSQOUT() throws RecognitionException {
        try {
            int _type = SQOUT;
            // Lucenedb.g:449:7: ( '\\'' )
            // Lucenedb.g:449:9: '\\''
            {
            match('\''); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end SQOUT

    public void mTokens() throws RecognitionException {
        // Lucenedb.g:1:8: ( T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | QUOTED_STRING | KW_AS | KW_SELECT | KW_FROM | KW_ORDER | KW_WHERE | KW_GROUP | KW_BY | KW_LIMIT | COMMA | RPAREN | LPAREN | WS | PLUS | MINUS | DIVIDE | ASTERISK | N | NUMBER | ID | EQ | LTH | NOT_EQ | LEQ | GEQ | GTH | SQOUT )
        int alt7=38;
        alt7 = dfa7.predict(input);
        switch (alt7) {
            case 1 :
                // Lucenedb.g:1:10: T33
                {
                mT33(); 

                }
                break;
            case 2 :
                // Lucenedb.g:1:14: T34
                {
                mT34(); 

                }
                break;
            case 3 :
                // Lucenedb.g:1:18: T35
                {
                mT35(); 

                }
                break;
            case 4 :
                // Lucenedb.g:1:22: T36
                {
                mT36(); 

                }
                break;
            case 5 :
                // Lucenedb.g:1:26: T37
                {
                mT37(); 

                }
                break;
            case 6 :
                // Lucenedb.g:1:30: T38
                {
                mT38(); 

                }
                break;
            case 7 :
                // Lucenedb.g:1:34: T39
                {
                mT39(); 

                }
                break;
            case 8 :
                // Lucenedb.g:1:38: T40
                {
                mT40(); 

                }
                break;
            case 9 :
                // Lucenedb.g:1:42: T41
                {
                mT41(); 

                }
                break;
            case 10 :
                // Lucenedb.g:1:46: T42
                {
                mT42(); 

                }
                break;
            case 11 :
                // Lucenedb.g:1:50: T43
                {
                mT43(); 

                }
                break;
            case 12 :
                // Lucenedb.g:1:54: QUOTED_STRING
                {
                mQUOTED_STRING(); 

                }
                break;
            case 13 :
                // Lucenedb.g:1:68: KW_AS
                {
                mKW_AS(); 

                }
                break;
            case 14 :
                // Lucenedb.g:1:74: KW_SELECT
                {
                mKW_SELECT(); 

                }
                break;
            case 15 :
                // Lucenedb.g:1:84: KW_FROM
                {
                mKW_FROM(); 

                }
                break;
            case 16 :
                // Lucenedb.g:1:92: KW_ORDER
                {
                mKW_ORDER(); 

                }
                break;
            case 17 :
                // Lucenedb.g:1:101: KW_WHERE
                {
                mKW_WHERE(); 

                }
                break;
            case 18 :
                // Lucenedb.g:1:110: KW_GROUP
                {
                mKW_GROUP(); 

                }
                break;
            case 19 :
                // Lucenedb.g:1:119: KW_BY
                {
                mKW_BY(); 

                }
                break;
            case 20 :
                // Lucenedb.g:1:125: KW_LIMIT
                {
                mKW_LIMIT(); 

                }
                break;
            case 21 :
                // Lucenedb.g:1:134: COMMA
                {
                mCOMMA(); 

                }
                break;
            case 22 :
                // Lucenedb.g:1:140: RPAREN
                {
                mRPAREN(); 

                }
                break;
            case 23 :
                // Lucenedb.g:1:147: LPAREN
                {
                mLPAREN(); 

                }
                break;
            case 24 :
                // Lucenedb.g:1:154: WS
                {
                mWS(); 

                }
                break;
            case 25 :
                // Lucenedb.g:1:157: PLUS
                {
                mPLUS(); 

                }
                break;
            case 26 :
                // Lucenedb.g:1:162: MINUS
                {
                mMINUS(); 

                }
                break;
            case 27 :
                // Lucenedb.g:1:168: DIVIDE
                {
                mDIVIDE(); 

                }
                break;
            case 28 :
                // Lucenedb.g:1:175: ASTERISK
                {
                mASTERISK(); 

                }
                break;
            case 29 :
                // Lucenedb.g:1:184: N
                {
                mN(); 

                }
                break;
            case 30 :
                // Lucenedb.g:1:186: NUMBER
                {
                mNUMBER(); 

                }
                break;
            case 31 :
                // Lucenedb.g:1:193: ID
                {
                mID(); 

                }
                break;
            case 32 :
                // Lucenedb.g:1:196: EQ
                {
                mEQ(); 

                }
                break;
            case 33 :
                // Lucenedb.g:1:199: LTH
                {
                mLTH(); 

                }
                break;
            case 34 :
                // Lucenedb.g:1:203: NOT_EQ
                {
                mNOT_EQ(); 

                }
                break;
            case 35 :
                // Lucenedb.g:1:210: LEQ
                {
                mLEQ(); 

                }
                break;
            case 36 :
                // Lucenedb.g:1:214: GEQ
                {
                mGEQ(); 

                }
                break;
            case 37 :
                // Lucenedb.g:1:218: GTH
                {
                mGTH(); 

                }
                break;
            case 38 :
                // Lucenedb.g:1:222: SQOUT
                {
                mSQOUT(); 

                }
                break;

        }

    }


    protected DFA1 dfa1 = new DFA1(this);
    protected DFA7 dfa7 = new DFA7(this);
    static final String DFA1_eotS =
        "\1\uffff\1\5\4\uffff\1\3\1\10\1\uffff\1\3";
    static final String DFA1_eofS =
        "\12\uffff";
    static final String DFA1_minS =
        "\1\0\1\47\1\0\3\uffff\2\0\1\uffff\1\0";
    static final String DFA1_maxS =
        "\1\ufffe\1\47\1\ufffe\3\uffff\2\ufffe\1\uffff\1\ufffe";
    static final String DFA1_acceptS =
        "\3\uffff\1\1\1\2\1\4\2\uffff\1\3\1\uffff";
    static final String DFA1_specialS =
        "\12\uffff}>";
    static final String[] DFA1_transitionS = {
            "\47\3\1\1\64\3\1\2\uffa2\3",
            "\1\4",
            "\47\3\1\6\uffd7\3",
            "",
            "",
            "",
            "\47\10\1\7\uffd7\10",
            "\47\3\1\11\uffd7\3",
            "",
            "\47\10\1\7\uffd7\10"
    };

    static final short[] DFA1_eot = DFA.unpackEncodedString(DFA1_eotS);
    static final short[] DFA1_eof = DFA.unpackEncodedString(DFA1_eofS);
    static final char[] DFA1_min = DFA.unpackEncodedStringToUnsignedChars(DFA1_minS);
    static final char[] DFA1_max = DFA.unpackEncodedStringToUnsignedChars(DFA1_maxS);
    static final short[] DFA1_accept = DFA.unpackEncodedString(DFA1_acceptS);
    static final short[] DFA1_special = DFA.unpackEncodedString(DFA1_specialS);
    static final short[][] DFA1_transition;

    static {
        int numStates = DFA1_transitionS.length;
        DFA1_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA1_transition[i] = DFA.unpackEncodedString(DFA1_transitionS[i]);
        }
    }

    class DFA1 extends DFA {

        public DFA1(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 1;
            this.eot = DFA1_eot;
            this.eof = DFA1_eof;
            this.min = DFA1_min;
            this.max = DFA1_max;
            this.accept = DFA1_accept;
            this.special = DFA1_special;
            this.transition = DFA1_transition;
        }
        public String getDescription() {
            return "()* loopback of 334:8: (~ '\\'' | '\\'\\'' | '\\\\\\'' )*";
        }
    }
    static final String DFA7_eotS =
        "\1\uffff\1\30\1\uffff\7\30\1\47\3\30\10\uffff\1\55\3\uffff\1\57"+
        "\1\uffff\1\61\1\63\1\30\1\66\1\30\1\70\4\30\1\76\2\uffff\3\30\1"+
        "\55\5\uffff\1\30\1\uffff\2\30\1\uffff\1\30\1\uffff\1\106\1\107\3"+
        "\30\1\uffff\7\30\2\uffff\1\30\1\123\2\30\1\126\1\30\1\131\1\133"+
        "\2\30\1\136\1\uffff\2\30\1\uffff\1\141\4\uffff\2\30\1\uffff\1\30"+
        "\1\145\1\uffff\2\30\1\150\1\uffff\2\30\1\uffff\1\30\1\154\1\155"+
        "\2\uffff";
    static final String DFA7_eofS =
        "\156\uffff";
    static final String DFA7_minS =
        "\1\11\1\122\1\uffff\1\122\1\116\1\105\1\116\1\117\1\111\1\105\1"+
        "\0\1\105\1\122\1\110\10\uffff\1\56\3\uffff\1\75\1\uffff\1\75\1\43"+
        "\1\117\1\43\1\114\1\43\1\104\1\124\1\113\1\124\1\43\2\uffff\1\114"+
        "\1\117\1\105\1\56\5\uffff\1\105\1\uffff\1\125\1\105\1\uffff\1\105"+
        "\1\uffff\2\43\1\111\1\105\1\127\1\uffff\1\105\1\115\2\122\1\120"+
        "\1\130\1\126\2\uffff\1\124\1\43\1\105\1\103\1\43\1\105\2\40\1\117"+
        "\1\101\1\43\1\uffff\1\105\1\124\1\uffff\1\43\4\uffff\1\122\1\116"+
        "\1\uffff\1\116\1\43\1\uffff\1\104\1\103\1\43\1\uffff\2\105\1\uffff"+
        "\1\122\2\43\2\uffff";
    static final String DFA7_maxS =
        "\1\172\1\122\1\uffff\1\122\1\116\1\105\1\123\1\117\1\111\1\131\1"+
        "\ufffe\1\105\1\122\1\110\10\uffff\1\71\3\uffff\1\76\1\uffff\1\75"+
        "\1\172\1\117\1\172\1\114\1\172\1\104\1\124\1\115\1\124\1\172\2\uffff"+
        "\1\114\1\117\1\105\1\71\5\uffff\1\105\1\uffff\1\125\1\105\1\uffff"+
        "\1\105\1\uffff\2\172\1\111\1\105\1\127\1\uffff\1\105\1\115\2\122"+
        "\1\120\1\130\1\126\2\uffff\1\124\1\172\1\105\1\103\1\172\1\105\2"+
        "\172\1\117\1\101\1\172\1\uffff\1\105\1\124\1\uffff\1\172\4\uffff"+
        "\1\122\1\116\1\uffff\1\116\1\172\1\uffff\1\104\1\103\1\172\1\uffff"+
        "\2\105\1\uffff\1\122\2\172\2\uffff";
    static final String DFA7_acceptS =
        "\2\uffff\1\2\13\uffff\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1"+
        "\uffff\1\36\1\37\1\40\1\uffff\1\42\13\uffff\1\46\1\14\4\uffff\1"+
        "\35\1\43\1\41\1\44\1\45\1\uffff\1\6\2\uffff\1\11\1\uffff\1\15\5"+
        "\uffff\1\23\7\uffff\1\7\1\10\13\uffff\1\12\2\uffff\1\17\1\uffff"+
        "\1\1\1\20\1\3\1\22\2\uffff\1\24\2\uffff\1\21\3\uffff\1\16\2\uffff"+
        "\1\13\3\uffff\1\5\1\4";
    static final String DFA7_specialS =
        "\156\uffff}>";
    static final String[] DFA7_transitionS = {
            "\2\21\2\uffff\1\21\22\uffff\1\21\1\33\5\uffff\1\12\1\20\1\17"+
            "\1\25\1\22\1\16\1\23\1\27\1\24\12\26\2\uffff\1\32\1\31\1\34"+
            "\1\uffff\1\2\1\6\1\11\3\30\1\14\1\3\1\30\1\4\2\30\1\10\1\30"+
            "\1\7\1\1\2\30\1\5\1\13\3\30\1\15\3\30\3\uffff\1\33\2\uffff\32"+
            "\30",
            "\1\35",
            "",
            "\1\36",
            "\1\37",
            "\1\40",
            "\1\42\4\uffff\1\41",
            "\1\43",
            "\1\44",
            "\1\45\23\uffff\1\46",
            "\uffff\50",
            "\1\51",
            "\1\52",
            "\1\53",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\27\1\uffff\12\54",
            "",
            "",
            "",
            "\1\56\1\33",
            "",
            "\1\60",
            "\2\30\13\uffff\12\30\7\uffff\3\30\1\62\26\30\4\uffff\1\30\1"+
            "\uffff\32\30",
            "\1\64",
            "\2\30\13\uffff\12\30\7\uffff\3\30\1\65\26\30\4\uffff\1\30\1"+
            "\uffff\32\30",
            "\1\67",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "\1\71",
            "\1\72",
            "\1\74\1\uffff\1\73",
            "\1\75",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "",
            "",
            "\1\77",
            "\1\100",
            "\1\101",
            "\1\27\1\uffff\12\54",
            "",
            "",
            "",
            "",
            "",
            "\1\102",
            "",
            "\1\103",
            "\1\104",
            "",
            "\1\105",
            "",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "\1\110",
            "\1\111",
            "\1\112",
            "",
            "\1\113",
            "\1\114",
            "\1\115",
            "\1\116",
            "\1\117",
            "\1\120",
            "\1\121",
            "",
            "",
            "\1\122",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "\1\124",
            "\1\125",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "\1\127",
            "\1\130\2\uffff\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30"+
            "\1\uffff\32\30",
            "\1\132\2\uffff\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30"+
            "\1\uffff\32\30",
            "\1\134",
            "\1\135",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "",
            "\1\137",
            "\1\140",
            "",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "",
            "",
            "",
            "",
            "\1\142",
            "\1\143",
            "",
            "\1\144",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "",
            "\1\146",
            "\1\147",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "",
            "\1\151",
            "\1\152",
            "",
            "\1\153",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "\2\30\13\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
            "",
            ""
    };

    static final short[] DFA7_eot = DFA.unpackEncodedString(DFA7_eotS);
    static final short[] DFA7_eof = DFA.unpackEncodedString(DFA7_eofS);
    static final char[] DFA7_min = DFA.unpackEncodedStringToUnsignedChars(DFA7_minS);
    static final char[] DFA7_max = DFA.unpackEncodedStringToUnsignedChars(DFA7_maxS);
    static final short[] DFA7_accept = DFA.unpackEncodedString(DFA7_acceptS);
    static final short[] DFA7_special = DFA.unpackEncodedString(DFA7_specialS);
    static final short[][] DFA7_transition;

    static {
        int numStates = DFA7_transitionS.length;
        DFA7_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA7_transition[i] = DFA.unpackEncodedString(DFA7_transitionS[i]);
        }
    }

    class DFA7 extends DFA {

        public DFA7(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 7;
            this.eot = DFA7_eot;
            this.eof = DFA7_eof;
            this.min = DFA7_min;
            this.max = DFA7_max;
            this.accept = DFA7_accept;
            this.special = DFA7_special;
            this.transition = DFA7_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | QUOTED_STRING | KW_AS | KW_SELECT | KW_FROM | KW_ORDER | KW_WHERE | KW_GROUP | KW_BY | KW_LIMIT | COMMA | RPAREN | LPAREN | WS | PLUS | MINUS | DIVIDE | ASTERISK | N | NUMBER | ID | EQ | LTH | NOT_EQ | LEQ | GEQ | GTH | SQOUT );";
        }
    }
 

}